হ্যান্ডলার হলো Ansible-এ একটি বিশেষ ধরনের টাস্ক যা নির্দিষ্ট শর্ত পূরণ হলে অথবা নির্দিষ্ট ইভেন্ট ঘটলে চালু হয়। সাধারণত হ্যান্ডলার ব্যবহার করা হয় কনফিগারেশন পরিবর্তনের পর বা কোনো টাস্ক সফলভাবে সম্পন্ন হওয়ার পর কিছু নির্দিষ্ট অ্যাকশন (যেমন: সার্ভিস রিস্টার্ট করা, ক্যাশ ক্লিয়ার করা) চালানোর জন্য।
হ্যান্ডলার কীভাবে কাজ করে?
- হ্যান্ডলারগুলো সাধারণ টাস্কের মতো কাজ করে, তবে এগুলো শুধুমাত্র তখনই চালু হয় যখন কোনো টাস্ক থেকে
notifyনির্দেশ দেওয়া হয়। - যদি কোনো টাস্ক হ্যান্ডলারকে
notifyকরে, তাহলে পুরো প্লেবুক চলার পর সেই হ্যান্ডলারটি একবার (একাধিকবার নয়) চালানো হবে। - হ্যান্ডলার সাধারণত
handlersসেকশনে সংরক্ষণ করা হয় এবং এটি একটি নির্দিষ্ট অ্যাকশন সম্পাদন করার জন্য তৈরি করা হয়।
হ্যান্ডলার ব্যবহারের কারণ
হ্যান্ডলার ব্যবহারের কয়েকটি মূল কারণ হলো:
- কনফিগারেশন পরিবর্তনের পর সার্ভিস রিস্টার্ট করা: যখন আপনি কোনো সার্ভিসের কনফিগারেশন পরিবর্তন করেন, তখন সেই সার্ভিসটি রিস্টার্ট করতে হয়। হ্যান্ডলার ব্যবহার করে আপনি কনফিগারেশন টাস্কটি সফল হলে সার্ভিস রিস্টার্ট করতে পারেন।
- অপটিমাইজড এক্সিকিউশন: একটি প্লেবুকে একাধিক টাস্ক একই হ্যান্ডলারকে
notifyকরতে পারে, কিন্তু এটি একবারই চালু হবে। এটি অপটিমাইজড এক্সিকিউশন নিশ্চিত করে। - নির্দিষ্ট ইভেন্টের প্রতিক্রিয়া: নির্দিষ্ট শর্ত বা ইভেন্ট ঘটলে (যেমন একটি ফাইল পরিবর্তন হলে) হ্যান্ডলার ব্যবহার করে অ্যাকশন নেওয়া যায়।
উদাহরণ
ধরা যাক, একটি প্লেবুকে Nginx কনফিগারেশন আপডেট করা হচ্ছে, এবং কনফিগারেশন পরিবর্তনের পর Nginx রিস্টার্ট করতে হবে। নিচে একটি উদাহরণ প্লেবুক দেয়া হলো:
---
- name: Configure Nginx
hosts: webservers
become: yes
tasks:
- name: Deploy Nginx configuration
template:
src: templates/nginx.conf.j2
dest: /etc/nginx/nginx.conf
notify: Restart Nginx
handlers:
- name: Restart Nginx
service:
name: nginx
state: restarted
বিশ্লেষণ:
tasksসেকশনে একটি টাস্ক আছে যাtemplateমডিউল ব্যবহার করে Nginx কনফিগারেশন ফাইল আপডেট করছে।notify: Restart Nginxনির্দেশটি ব্যবহার করে টাস্কটি হ্যান্ডলারকে জানাচ্ছে যে যদি এই টাস্ক সফল হয়, তাহলে হ্যান্ডলার চালানো হবে।handlersসেকশনেRestart Nginxনামের একটি হ্যান্ডলার আছে, যা Nginx সার্ভিসটি রিস্টার্ট করবে।
হ্যান্ডলার কখন ব্যবহার করবেন?
- সার্ভিস রিস্টার্ট বা রিলোড করা: কনফিগারেশন পরিবর্তন বা ফাইল আপডেট করার পর সার্ভিস রিস্টার্ট বা রিলোড করার জন্য।
- ক্যাশ ক্লিয়ার করা: অ্যাপ্লিকেশনের ক্যাশ ক্লিয়ার করতে বা ডাটা রিফ্রেশ করতে।
- সিস্টেম রিসেট বা রিপ্রভিশন করা: সিস্টেমে বড় ধরনের পরিবর্তনের পর নির্দিষ্ট অ্যাকশন চালাতে।
হ্যান্ডলার ব্যবহার করার সুবিধা
- পুনরাবৃত্তি কমানো: একটি টাস্ক একাধিকবার হ্যান্ডলারকে
notifyকরলেও, হ্যান্ডলারটি শুধুমাত্র একবারই চালু হবে। - প্লেবুকের কার্যকারিতা বাড়ানো: নির্দিষ্ট টাস্ক সম্পন্ন হওয়ার পরে এবং প্রয়োজনমতো অ্যাকশন নেওয়ার মাধ্যমে প্লেবুক আরও কার্যকরী হয়।
- কোডের পুনঃব্যবহারযোগ্যতা: হ্যান্ডলারগুলোকে আলাদা করে সংরক্ষণ করে পরবর্তীতে সহজে ব্যবহার করা যায়।
সারসংক্ষেপ
- হ্যান্ডলার: Ansible-এর বিশেষ টাস্ক যা নির্দিষ্ট টাস্ক থেকে
notifyপেলে প্লেবুক শেষে একবার চালু হয়। - ব্যবহার ক্ষেত্র: সার্ভিস রিস্টার্ট, ক্যাশ ক্লিয়ার, সিস্টেম রিসেট ইত্যাদি।
- সুবিধা: অপটিমাইজড এক্সিকিউশন, পুনরাবৃত্তি কমানো, প্লেবুকের কার্যকারিতা বাড়ানো।
হ্যান্ডলার ব্যবহারের মাধ্যমে Ansible প্লেবুককে আরও কার্যকর এবং সংক্ষিপ্ত করা যায়, যা পরিচালনাকে সহজ এবং আরও কার্যকর করে তোলে।
Read more